home *** CD-ROM | disk | FTP | other *** search
/ AmigActive 26 / AACD 26.iso / AACD / System / xvs / developer / include / asm / xvs.i < prev   
Encoding:
Text File  |  2001-09-05  |  4.5 KB  |  147 lines

  1.     IFND    LIBRARIES_XVS_I
  2. LIBRARIES_XVS_I    SET    1
  3.  
  4. **
  5. **    $VER: xvs.i 33.16 (05.09.2001)
  6. **
  7. **    Copyright © 1997/98 by Georg Hörmann
  8. **    All Rights Reserved
  9. **
  10.  
  11.     IFND EXEC_LIBRARIES_I
  12.     include "exec/libraries.i"
  13.     include "exec/lists.i"
  14.     ENDC
  15.  
  16. ;======================================================================
  17. ; Library Base
  18. ;======================================================================
  19.  
  20.     STRUCTURE    xvsBase,LIB_SIZE
  21.     UWORD    xvs_Reserved0        ; PRIVATE
  22.     ULONG    xvs_SegList        ; PRIVATE
  23.     APTR    xvs_DosBase        ; may be used by application
  24.     APTR    xvs_ExecBase        ; cached for fast access
  25.     APTR    xvs_IntBase        ; PRIVATE
  26.     APTR    xvs_TrackBase        ; PRIVATE
  27.     APTR    xvs_RamLibBase        ; PRIVATE
  28.     LABEL    xvsBase_SIZE
  29.  
  30. XVS_VERSION    equ    33    ;for OpenLibrary()
  31.  
  32. XVS_NAME    MACRO
  33.         dc.b    "xvs.library",0
  34.         ENDM
  35.  
  36. ;======================================================================
  37. ; Virus List
  38. ;======================================================================
  39.  
  40.     STRUCTURE    xvsVirusList,LH_SIZE
  41.     UWORD    xvsvl_Count        ; amount of entries
  42.     LABEL    xvsVirusList_SIZE
  43.  
  44. ; values for xvsVirusList->LH_TYPE and xvsCreateVirusList()
  45.  
  46. XVSLIST_BOOTVIRUSES    equ    $42
  47. XVSLIST_DATAVIRUSES    equ    $44
  48. XVSLIST_FILEVIRUSES    equ    $46
  49. XVSLIST_LINKVIRUSES    equ    $4c
  50.  
  51. ;======================================================================
  52. ; Object Types
  53. ;======================================================================
  54.  
  55. XVSOBJ_BOOTINFO        equ    1    ; xvsBootInfo structure
  56. XVSOBJ_SECTORINFO    equ    2    ; xvsSectorInfo structure
  57. XVSOBJ_FILEINFO        equ    3    ; xvsFileInfo structure
  58. XVSOBJ_MEMORYINFO    equ    4    ; xvsMemoryInfo structure
  59. XVSOBJ_MAX        equ    4    ; PRIVATE
  60.  
  61. ;======================================================================
  62. ; Bootblock Info
  63. ;======================================================================
  64.  
  65.     STRUCTURE    xvsBootInfo,0
  66.     APTR    xvsbi_Bootblock        ; buffer holding bootblock
  67.     APTR    xvsbi_Name        ; description of bootblock
  68.     UBYTE    xvsbi_BootType        ; type of bootblock
  69.     UBYTE    xvsbi_DosType        ; dos type (eg. DOS0 -> 0)
  70.     UBYTE    xvsbi_ChkSumFlag    ; TRUE if checksum correct
  71.     UBYTE    xvsbi_Reserved0        ; PRIVATE
  72.     LABEL    xvsBootInfo_SIZE
  73.  
  74. ; values for xvsBootInfo->xvsbi_BootType and xvsInstallBootblock()
  75.  
  76. XVSBT_UNKNOWN        equ    0    ; Unknown bootblock
  77. XVSBT_NOTDOS        equ    1    ; Not a DOS bootblock
  78. XVSBT_STANDARD13    equ    2    ; Standard bootblock (1.3)
  79. XVSBT_STANDARD20    equ    3    ; Standard bootblock (2.0)
  80. XVSBT_VIRUS        equ    4    ; xvsbi_Name = virus name
  81. XVSBT_UNINSTALLED    equ    5    ; ONLY xvsInstallBootblock()
  82.  
  83. ;======================================================================
  84. ; Sector Info
  85. ;======================================================================
  86.  
  87.     STRUCTURE    xvsSectorInfo,0
  88.     APTR    xvssi_Sector        ; buffer holding sector
  89.     ULONG    xvssi_Key        ; sector number
  90.     APTR    xvssi_Name        ; description of sector
  91.     UBYTE    xvssi_SectorType    ; type of sector
  92.     UBYTE    xvssi_InternalType    ; PRIVATE
  93.     LABEL    xvsSectorInfo_SIZE
  94.  
  95. ; values for xvsSectorInfo->xvssi_SectorType
  96.  
  97. XVSST_UNKNOWN        equ    0    ; Unknown sector
  98. XVSST_DESTROYED        equ    1    ; xvssi_Name = virus name
  99. XVSST_INFECTED        equ    2    ; xvssi_Name = virus name
  100.  
  101. ;======================================================================
  102. ; File Info
  103. ;======================================================================
  104.  
  105.     STRUCTURE    xvsFileInfo,0
  106.     APTR    xvsfi_File        ; buffer holding whole file
  107.     ULONG    xvsfi_FileLen        ; length of file
  108.     APTR    xvsfi_Name        ; description of file
  109.     UBYTE    xvsfi_FileType        ; type of file
  110.     UBYTE    xvsfi_ModifiedFlag    ; TRUE if file was modified
  111.     UBYTE    xvsfi_ErrorCode        ; only for xvsRepairFile()
  112.     UBYTE    xvsfi_InternalType    ; PRIVATE
  113.     APTR    xvsfi_Fixed        ; start of fixed file
  114.     ULONG    xvsfi_FixedLen        ; length of fixed file
  115.     LABEL    xvsFileInfo_SIZE
  116.  
  117. ; values for xvsFileInfo->xvsfi_FileType
  118.  
  119. XVSFT_EMPTYFILE        equ    1    ; Empty file
  120. XVSFT_DATAFILE        equ    2    ; Data file
  121. XVSFT_EXEFILE        equ    3    ; Executable file
  122. XVSFT_DATAVIRUS        equ    4    ; xvsfi_Name = virus name
  123. XVSFT_FILEVIRUS        equ    5    ; xvsfi_Name = virus name
  124. XVSFT_LINKVIRUS        equ    6    ; xvsfi_Name = virus name
  125.  
  126. ; values for xvsFileInfo->xvsfi_ErrorCode
  127.  
  128. XVSERR_WRONGFILETYPE    equ    1    ; Wrong type of file
  129. XVSERR_FILETRUNCATED    equ    2    ; File truncated
  130. XVSERR_UNSUPPORTEDHUNK    equ    3    ; Unsupported hunk
  131. XVSERR_UNEXPECTEDDATA    equ    4    ; Unexpected data
  132. XVSERR_OUTOFMEMORY    equ    5    ; Out of memory
  133. XVSERR_NOTIMPLEMENTED    equ    6    ; (V33.15) Not implemented yet
  134.  
  135. ;======================================================================
  136. ; Memory Info
  137. ;======================================================================
  138.  
  139.     STRUCTURE    xvsMemoryInfo,0
  140.     UWORD    xvsmi_Count        ; amount of detected viruses
  141.     UWORD    xvsmi_Reserved0        ; PRIVATE
  142.     STRUCT    xvsmi_NameArray,5*4    ; names of viruses
  143.     LABEL    xvsMemoryInfo_SIZE
  144.  
  145.  
  146.     ENDC    ; LIBRARIES_XVS_I
  147.